home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / wfext.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  6.4 KB  |  188 lines

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * wfext.h -     Windows File Manager Extensions definitions (Win32 variant)   *
  4. *                                                                             *
  5. *               Version 3.10                                                  *
  6. *                                                                             *
  7. *               Copyright (c) 1991-1993, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. *******************************************************************************/
  10.  
  11. #ifndef _INC_WFEXT
  12. #define _INC_WFEXT            /* #defined if wfext.h has been included */
  13. #pragma option push -b
  14.  
  15.  
  16. #ifdef __cplusplus            /* Assume C declaration for C++ */
  17. extern "C" {
  18. #endif  /* __cplusplus */
  19.  
  20. #define MENU_TEXT_LEN           40
  21.  
  22. #define FMMENU_FIRST            1
  23. #define FMMENU_LAST             99
  24.  
  25. #define FMEVENT_LOAD            100
  26. #define FMEVENT_UNLOAD          101
  27. #define FMEVENT_INITMENU        102
  28. #define FMEVENT_USER_REFRESH    103
  29. #define FMEVENT_SELCHANGE       104
  30. #define FMEVENT_TOOLBARLOAD     105
  31. #define FMEVENT_HELPSTRING      106
  32. #define FMEVENT_HELPMENUITEM    107
  33.  
  34. #define FMFOCUS_DIR             1
  35. #define FMFOCUS_TREE            2
  36. #define FMFOCUS_DRIVES          3
  37. #define FMFOCUS_SEARCH          4
  38.  
  39. #define FM_GETFOCUS           (WM_USER + 0x0200)
  40. #define FM_GETSELCOUNT        (WM_USER + 0x0202)
  41. #define FM_GETSELCOUNTLFN     (WM_USER + 0x0203)  /* LFN versions are odd */
  42. #define FM_REFRESH_WINDOWS    (WM_USER + 0x0206)
  43. #define FM_RELOAD_EXTENSIONS  (WM_USER + 0x0207)
  44.  
  45. #define FM_GETDRIVEINFOA      (WM_USER + 0x0201)
  46. #define FM_GETFILESELA        (WM_USER + 0x0204)
  47. #define FM_GETFILESELLFNA     (WM_USER + 0x0205)  /* LFN versions are odd */
  48.  
  49. #define FM_GETDRIVEINFOW      (WM_USER + 0x0211)
  50. #define FM_GETFILESELW        (WM_USER + 0x0214)
  51. #define FM_GETFILESELLFNW     (WM_USER + 0x0215)  /* LFN versions are odd */
  52.  
  53. #ifdef UNICODE
  54. #define FM_GETDRIVEINFO    FM_GETDRIVEINFOW
  55. #define FM_GETFILESEL      FM_GETFILESELW
  56. #define FM_GETFILESELLFN   FM_GETFILESELLFNW
  57. #else
  58. #define FM_GETDRIVEINFO    FM_GETDRIVEINFOA
  59. #define FM_GETFILESEL      FM_GETFILESELA
  60. #define FM_GETFILESELLFN   FM_GETFILESELLFNA
  61. #endif
  62.  
  63.  
  64. typedef struct _FMS_GETFILESELA {
  65.    FILETIME ftTime;
  66.    DWORD dwSize;
  67.    BYTE bAttr;
  68.    CHAR szName[260];          // always fully qualified
  69. } FMS_GETFILESELA, FAR *LPFMS_GETFILESELA;
  70.  
  71. typedef struct _FMS_GETFILESELW {
  72.    FILETIME ftTime ;
  73.    DWORD dwSize;
  74.    BYTE bAttr;
  75.    WCHAR szName[260];          // always fully qualified
  76. } FMS_GETFILESELW, FAR *LPFMS_GETFILESELW;
  77.  
  78. #ifdef UNICODE
  79. #define FMS_GETFILESEL   FMS_GETFILESELW
  80. #define LPFMS_GETFILESEL LPFMS_GETFILESELW
  81. #else
  82. #define FMS_GETFILESEL   FMS_GETFILESELA
  83. #define LPFMS_GETFILESEL LPFMS_GETFILESELA
  84. #endif
  85.  
  86.  
  87. typedef struct _FMS_GETDRIVEINFOA {      // for drive
  88.    DWORD dwTotalSpace;
  89.    DWORD dwFreeSpace;
  90.    CHAR  szPath[260];                    // current directory
  91.    CHAR  szVolume[14];                   // volume label
  92.    CHAR  szShare[128];                   // if this is a net drive
  93. } FMS_GETDRIVEINFOA, FAR *LPFMS_GETDRIVEINFOA;
  94.  
  95. typedef struct _FMS_GETDRIVEINFOW {      // for drive
  96.    DWORD dwTotalSpace;
  97.    DWORD dwFreeSpace;
  98.    WCHAR szPath[260];                    // current directory
  99.    WCHAR szVolume[14];                   // volume label
  100.    WCHAR szShare[128];                   // if this is a net drive
  101. } FMS_GETDRIVEINFOW, FAR *LPFMS_GETDRIVEINFOW;
  102.  
  103. #ifdef UNICODE
  104. #define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOW
  105. #define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOW
  106. #else
  107. #define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOA
  108. #define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOA
  109. #endif
  110.  
  111.  
  112. typedef struct _FMS_LOADA {
  113.    DWORD dwSize;                        // for version checks
  114.    CHAR  szMenuName[MENU_TEXT_LEN];     // output
  115.    HMENU hMenu;                         // output
  116.    UINT  wMenuDelta;                    // input
  117. } FMS_LOADA, FAR *LPFMS_LOADA;
  118.  
  119. typedef struct _FMS_LOADW {
  120.    DWORD dwSize;                        // for version checks
  121.    WCHAR szMenuName[MENU_TEXT_LEN];     // output
  122.    HMENU hMenu;                         // output
  123.    UINT  wMenuDelta;                    // input
  124. } FMS_LOADW, FAR *LPFMS_LOADW;
  125.  
  126. #ifdef UNICODE
  127. #define FMS_LOAD   FMS_LOADW
  128. #define LPFMS_LOAD LPFMS_LOADW
  129. #else
  130. #define FMS_LOAD   FMS_LOADA
  131. #define LPFMS_LOAD LPFMS_LOADA
  132. #endif
  133.  
  134.  
  135. // Toolbar definitions
  136.  
  137. typedef struct tagEXT_BUTTON {
  138.    WORD idCommand;                 /* menu command to trigger */
  139.    WORD idsHelp;                   /* help string ID */
  140.    WORD fsStyle;                   /* button style */
  141. } EXT_BUTTON, FAR *LPEXT_BUTTON;
  142.  
  143. typedef struct tagFMS_TOOLBARLOAD {
  144.    DWORD dwSize;                   /* for version checks */
  145.    LPEXT_BUTTON lpButtons;         /* output */
  146.    WORD cButtons;                  /* output, 0==>no buttons */
  147.    WORD cBitmaps;                  /* number of non-sep buttons */
  148.    WORD idBitmap;                  /* output */
  149.    HBITMAP hBitmap;                /* output if idBitmap==0 */
  150. } FMS_TOOLBARLOAD, FAR *LPFMS_TOOLBARLOAD;
  151.  
  152. typedef struct tagFMS_HELPSTRINGA {
  153.    INT   idCommand;       /* input, -1==>the menu was selected */
  154.    HMENU hMenu;           /* input, the extensions menu */
  155.    CHAR  szHelp[128];     /* output, the help string */
  156. } FMS_HELPSTRINGA, FAR *LPFMS_HELPSTRINGA;
  157.  
  158. typedef struct tagFMS_HELPSTRINGW {
  159.    INT   idCommand;       /* input, -1==>the menu was selected */
  160.    HMENU hMenu;           /* input, the extensions menu */
  161.    WCHAR szHelp[128];     /* output, the help string */
  162. } FMS_HELPSTRINGW, FAR *LPFMS_HELPSTRINGW;
  163.  
  164. #ifdef UNICODE
  165. #define FMS_HELPSTRING   FMS_HELPSTRINGW
  166. #define LPFMS_HELPSTRING LPFMS_HELPSTRINGW
  167. #else
  168. #define FMS_HELPSTRING   FMS_HELPSTRINGA
  169. #define LPFMS_HELPSTRING LPFMS_HELPSTRINGA
  170. #endif
  171.  
  172.  
  173. typedef DWORD (APIENTRY *FM_EXT_PROC)(HWND, WORD, LONG);
  174. typedef DWORD (APIENTRY *FM_UNDELETE_PROC)(HWND, LPTSTR);
  175.  
  176. #ifdef UNICODE
  177. LONG WINAPI FMExtensionProcW(HWND hwnd, WORD wEvent, LONG lParam);
  178. #else
  179. LONG WINAPI FMExtensionProc(HWND hwnd, WORD wEvent, LONG lParam);
  180. #endif
  181.  
  182. #ifdef __cplusplus
  183. }                  /* End of extern "C" { */
  184. #endif             /* __cplusplus */
  185.  
  186. #pragma option pop
  187. #endif             /* _INC_WFEXT */
  188.